package 牛客.动态规划;

public class BM64最小花费爬楼梯 {
    public int minCostClimbingStairs (int[] cost) {
        // write code here
        if (cost.length<3) {
            return cost[0]<cost[1]?cost[0]:cost[1];
        }
        int[] dp=new int[cost.length+1];
        //dp[i] 代表的是到达i位置的最少总花费
        //第一步不花费0
        dp[0]=0;
        dp[1]=0;
        for (int i = 2; i <dp.length ; i++) {
            //从第三个位置算
            dp[i]=Math.min(dp[i-1]+cost[i-1] , dp[i-2]+cost[i-2]);
        }
        return dp[dp.length-1];
    }
}
